您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法

  • 申请号:CN201210152452.2 申请公布号: CN102705303B
  • 申请日: 2012-05-16 申请公布日: 2014-12-24
  • 申请(专利权)人: 专利代理机构: 北京永创新实专利事务所
  • 分类号:F15B19/00

专利介绍

本发明提出一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,首先获取液压伺服系统在正常工作、电子放大器故障和泄漏故障三种状态的输入输出信号,利用正常状态的输入输出信号,训练故障观测器,通过故障观测器获取实时残差信号,然后实时在线训练状态跟随器,得到实时信号对应的网络连接权值,将残差信号的时域特征值和网络连接权值作为RBF故障定位器的训练输入样本训练RBF故障定位器。故障观测器和状态跟随器都采用改进的Elman网络实现。将时域特征值与故障阈值比较,可判断当前系统是否出现故障,通过故障定位器可得到故障类型。本发明实现了对液压伺服系统的故障定位,定位精确度高,具有工程应用性。
1.一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,具体包括如下步骤:步骤一、分别获取液压伺服系统在正常工作、电子放大器故障、以及泄漏故障三种状态下的n组输入和输出信号;步骤二、首先,建立并训练液压伺服系统正常时的故障观测器,具体是:采用改进的Elman神经网络建立故障观测器,改进的Elman神经网络的外部输入信号为u(k-1),输出信号为y(k),隐层输出信号为x(k),关联节点的输出信号为xc(k),在关联节点上增加了一个固定增益为α的自反馈连接,使得关联节点在k时刻的输出信号等于隐层在k-1时刻的输出信号加上关联节点在k-1时刻输出信号的α倍,α取值在0~1之间;然后,获取液压伺服系统正常工作状态下的历史输入和输出信号,训练故障观测器,训练输入样本为获取的历史输入和输出信号,训练输出样本为获取的历史输出信号;故障观测器训练完成后,获得液压伺服系统在正常工作状态下的残差信号,所述的残差信号由故障观测器的估计输出信号与对应的液压伺服系统的实际输出信号做差得到;然后,获取液压伺服系统实时的残差信号,具体是:每隔一段时间,获取当前t时刻工作状态下的液压伺服系统的输入信号r(t)和输出信号yr(t),输入到已训练好的故障观测器,得到故障观测器的估计输出信号ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="140"/>进一步得到当前t时刻工作状态下液压伺服系统的残差信号ε(t), ϵ ( t ) = y r ( t ) - y ^ r ( t ) ; ]]>步骤三、实时在线训练状态跟随器,所述的状态跟随器采用步骤二中所述的改进的Elman神经网络实现,实时获取液压伺服系统当前t时刻工作状态下的输入和输出信号,并实时训练状态跟随器,训练输入样本为实时获取的输入和输出信号,训练输出样本为实时获取的输出信号;在每次实时训练好状态跟随器之后,需要输出的结果为改进的Elman神经网络中关联节点到隐层单元、输入单元至隐层单元以及隐层单元到输出单元的连接权矩阵[W1,W2,W3];步骤四、针对故障观测器得到的液压伺服系统的每组实时残差信号,提取时域特征值,每组残差信号得到1个时域特征值RMSε(t);所述的时域特征值采用均值、有效值、峭度或者波形因子来表示;步骤五、训练故障定位器,所述的故障定位器采用RBF神经网络实现,RBF神经网络的训练输入样本X为: X = W 1 , i 1 , W 1 , i 2 , W 1 , i 3 , RMS ϵ ( t ) 1 , i W 2 , i 1 , W 2 , i 2 , W 2 , i 3 , RMS ϵ ( t ) 2 , i W 3 , i 1 , W 3 , i 2 , W 3 , i 3 , RMS ϵ ( t ) 3 , i , i = 1,2 , . . . , n ]]>其中,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="164"/>代表正常工作状态下的第i个时域特征值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="165"/>代表电子放大器故障状态下的第i个时域特征值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="168"/>代表泄漏故障状态下的第i个时域特征值;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="316"/>ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="300"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="295"/>分别代表正常工作状态、电子放大器故障状态和泄漏故障状态下通过步骤三得到的第i组连接权矩阵;RBF神经网络的训练输出样本Y为: Y = 1,0,0 . . . 0,1,0 . . . 0,0,1 . . . ]]>[1,0,0],[0,1,0],[0,0,1]分别为n行,分别对应正常工作状态、电子放大器故障状态和泄漏故障状态的分类结果模式;步骤六、对液压伺服系统进行实时故障检测及故障定位:首先,根据RBF神经网络的离线训练误差和噪声的标准差来确定故障阈值;然后,采集液压伺服系统在某t时刻的输入和输出信号,经过步骤二~四,得到该输入和输出信号对应的残差信号的时域特征值以及经过状态跟随器得到的连接权矩阵,根据故障阈值对时域特征值进行检测,若时域特征值超过了故障阈值,则出现故障,将时域特征值和对应的连接权矩阵输入到步骤五中已训练好的故障定位器,进行故障定位。
2.根据权利要求1所述的一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,所述的步骤一具体是:在液压伺服系统正常运行时,给定系统输入指令为频率1Hz,幅值20mm的正弦信号,采集三种状态下的输入和输出信号:(1)采集系统正常工作状态下20组输入和输出信号;(2)修改实际液压伺服系统中PID控制器的比例系数Kp模拟电子放大器增益漂移故障,使比例系数Kp在第2秒时突变了0.5,时间持续2秒,采集电子放大器故障状态下20组输入和输出信号;(3)修改液压伺服系统的流量压力系数Kce模拟泄漏故障,使流量压力系数Kce增大两倍,采集泄漏故障状态下20组输入和输出信号。
3.根据权利要求1所述的一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,步骤二中所述的改进的Elman神经网络中的输入、输出信号为: x ( k ) = f 1 ( W 1 x c ( k ) + W 2 u ( k - 1 ) ) x c ( k ) = α x c ( k - 1 ) + x ( k - 1 ) y ( k ) = l ( W 3 x ( k ) ) ]]>其中,W1、W2和W3分别为关联节点到隐层单元、输入单元至隐层单元以及隐层单元到输出单元的连接权矩阵,f1(·)和l(·)分别为输出单元和隐层单元的激发函数所组成的非线性向量函数;使用标准反向传播学习方法,修正Elman神经网络的权值和偏差,设Elman神经网络的输入单元有r个,关联节点有n个,隐层单元有n个,输出单元有m个,则连接权的增量为: Δ W ij 3 = η 3 δ i 0 x j ( k ) ]]> Δ W jq 2 = η 2 δ j h u q ( k - 1 ) ]]> Δ W jl 1 = η 1 Σ i = 1 m ( δ i 0 W ij 3 ) ∂ x j ( k ) ∂ W jl 1 ]]>其中,i=1,2,...,m,表示第i个输出单元;j=1,2,...,n,表示第j个隐层单元;l=1,2,...,n,表示第l个关联节点;q=1,2,...,r,表示第q个输入单元;xj(k)表示第j个隐层单元在k时刻的输出信号;uq(k-1)表示第q个输入单元在k-1时刻的输出信号;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="76"/>表示第j个隐层单元到第i个输出单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="111"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="69"/>的增量,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="79"/>为第q个输入单元至第j个隐层单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="119"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="77"/>的增量,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="73"/>为第l个关联节点到第j个隐层单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="113"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="75"/>的增量;η1,η2,η3分别为ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="332"/>的学习步长;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="61"/>表示第i个输出单元的输出误差:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="507"/>ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="61"/>表示第j个隐层单元的输出误差:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="453"/>其中,yi(k)表示输出层第i个输出单元实际的输出信号,di(k)表示输出层第i个输出单元的期望输出信号,l′i(·)表示输出层的第i个输出单元向量函数的导数,f′1j(·)表示隐含层的第j个隐层单元向量函数的导数。
4.根据权利要求1所述的一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,步骤四中所述的每组残差信号得到1个时域特征值,采用有效值表示时域特征值时,残差信号的有效值RMSε(t)为:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="607"/>其中,p表示在该残差信号中选取的样本量,x1,x2......xp分别表示第1个、第2个......第p个样本的值。
5.根据权利要求1所述的一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,步骤五中所述的故障定位器采用RBF神经网络实现,具体采用改进的K均值聚类方法建立RBF神经网络来实现,包括如下步骤:(1)选择一个合适的高斯函数宽度r,令第一个训练输入样本X1作为第一个聚类中心C1,C1=X1,此时建立的RBF神经网络只有一个隐单元,该隐单元的中心为C1;(2)确定第二个训练输入样本X2和聚类中心C1之间的距离,若距离‖X2-C1‖2归为第一类,同时ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="372"/>若‖X2-C1‖>r,则X2作为新的聚类中心C2,C2=X2,此时建立的RBF神经网络有2个隐单元,隐单元的中心分别为C1和C2;(3)分别确定第i个训练输入样本Xi与已存在的m个聚类中心的距离‖Xi-Cj‖,i=3,4,5,...n,j=1,2,...,m;找出与样本Xi距离最近的聚类中心Ch,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="544"/>若‖Xi-Ch‖i被归为第h类,并令ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="282"/>否则Xi作为新的聚类中心并令Cm+1=Xi;重复上面(3)中过程,直到N个训练输入样本分类完毕,确定全部聚类中心,设共有n"个聚类中心;(4)按K均值聚类方法重新调整聚类中心,将所有训练输入样本Xp按最近邻规则分组,当: | | X p - C i | | = min i | | X p - C i | | , i = 1,2 , . . . , n ′ ]]>则将第P个训练输入样本Xp归划到聚类中心Ci所在的第i类,p=1,2,...,N;(5)调整聚类中心Ci: C i = 1 N i Σ X p ∈ i X p ]]>Ni为第i类的样本数;(6)重复(4)和(5),直至所有聚类中心不再变化;将最终得到的聚类中心赋值给各RBF单元,作为各RBF单元的聚类中心;(7)确定(6)中每一个聚类中心所对应的RBF单元的径向基函数的宽度σi: σ i = 1 N i Σ ( X p - C i ) T ( X p - C i ) ]]>T表示向量的转置;(8)根据最小二乘方法调整输出层的权值:首先定义目标函数E:ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="672"/>其中,n1表示输出层的节点数,yf表示输出层的实际输出值,yf表示输出层的估计输出值;然后根据最小二乘法则,加入动量因子修正项和自适应学习速率因子后,根据下式调整输出层的权值: W ( k ) = W ( k - 1 ) - α 1 ( k ) [ ( 1 - η ) ∂ E ∂ W ( k - 1 ) + η ∂ E ∂ W ( k - 2 ) ] ]]>其中,k表示迭代数,0<η<1是动量因子,自适应学习速率因子α1(k)=ρ(k)α1(k-1),学习速率因子的调整变量ρ(k)=ε1·2τ,ε1为误差系数,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="674"/>sign()为符号函数。
6.根据权利要求1所述的一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,其特征在于,步骤六中所述的故障阈值为步骤五中的RBF神经网络离线训练误差的最大值与3倍的噪声标准差的和。技术领域
本发明属于液压伺服系统的故障诊断技术领域,具体涉及一种基于残差与双级Elman神经网络相结合的液压伺服系统的故障定位方法。
背景技术
在航空航天领域中,广泛地采用液压系统作为执行环节。液压系统具有功率大、响应快等优点,且随着其规模、功能、复杂程度及自动化水平的日益提高,要求液压系统具有很高的可靠性与可维修性。为此采取了提高液压元件可靠性、对系统进行高可靠及容错设计等一些列措施,但是无论液压系统的可靠性有多高,由于负载、工况、元器件的老化等诸多不可避免的因素,液压系统难免会出现故障。而作为复杂液压系统中的子系统-液压伺服系统,对液压系统的功能和效率有着巨大的影响,其故障将会直接导致液压系统失效,从而造成整个设备的控制系统崩溃,影响任务的完成。因此对液压伺服系统进行故障诊断具有重要的现实的意义。通常,基于神经网络故障观测器可以实现液压伺服系统的故障检测,但很难进行其故障定位,因此有效的故障定位方法一直是液压伺服系统故障诊断的瓶颈问题。故障观测器属于基于解析模型进行故障检测的其中一种方法,而基于解析模型方法的基本思想为:故障发生前后,系统分别处于正常状态和故障状态,建立正常状态时系统的解析模型,通过比较模型输出和真实系统的测量输出,产生称为“残差”的故障指示器。若故障发生,会影响系统的测量输出,导致残差发生变化,实现故障检测。但该残差反映的是整个液压伺服系统的故障与否,并不能诊断出何种故障引起的残差变化。状态跟随器由于是实时地在线学习,所以它实时记忆系统当前的状态。因此当系统正常时,状态跟随器通过在线学习,能准确地跟踪系统正常时的模型,并将正常模型分布记忆于网络连接权值等参数中。同样,当系统故障时,状态跟随器通过在线学习,准确记忆系统故障时的模型,并将故障模型分布记忆于网络连接权值中。不同的故障情况,系统的模型将发生不同的变化,状态跟随器则具有不同的网络连接权值,因此可以利用状态跟随器的连接权值作为故障模式识别的特征向量。液压伺服系统具有很多非线性特性,这使得液压系统的故障机理复杂,故障特征提取困难。目前现有的基于模型的故障检测与故障定位方法强烈依赖于数学模型的准确性,而实际液压伺服系统的非线性和耦合干扰又很难建模,因此基于近似线性模型的故障检测与故障定位方法鲁棒性较差。由于神经网络具有很强的非线性映射能力和容错能力,很容易实现液压伺服系统非线性和鲁棒性故障诊断。因此将故障检测与故障定位相结合已成为液压伺服系统故障诊断方法的新思路。
发明内容
本发明的目的是为了解决在进行液压伺服系统故障诊断时,常用的基于神经网络故障观测器可以实现故障检测,但很难进行故障定位的问题,提出一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法。本发明一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,具体包括以下步骤:步骤一、分别获取液压伺服系统在正常工作、电子放大器故障、以及泄漏故障三种状态下的n组输入和输出信号。步骤二、首先,建立并训练液压伺服系统正常时的故障观测器,具体是:采用改进的Elman神经网络建立故障观测器,改进的Elman神经网络的外部输入信号为u(k-1),输出信号为y(k),隐层输出信号为x(k),关联节点的输出信号为xc(k),在关联节点上增加了一个固定增益为α的自反馈连接,使得关联节点在k时刻的输出信号等于隐层在k-1时刻的输出信号加上关联节点在k-1时刻输出信号的α倍,α取值在0~1之间;然后,获取液压伺服系统正常工作状态下的历史输入和输出信号,训练故障观测器,训练输入样本为获取的历史输入和输出信号,训练输出样本为获取的历史输出信号;故障观测器训练完成后,获得液压伺服系统在正常工作状态下的残差信号,所述的残差信号由故障观测器的估计输出信号与对应的液压伺服系统的实际输出信号做差得到。然后,获取液压伺服系统实时的残差信号,具体是:每隔一段时间,获取当前t时刻工作状态下的液压伺服系统的输入信号r(t)和输出信号yr(t),输入到已训练好的故障观测器,得到故障观测器的估计输出信号ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="131"/>进一步得到当前t时刻工作状态下液压伺服系统的残差信号ε(t), ϵ ( t ) = y r ( t ) - y ^ r ( t ) . ]]>步骤三、实时在线训练状态跟随器,所述的状态跟随器采用步骤二中所述的改进的Elman神经网络实现,实时获取液压伺服系统当前t时刻工作状态下的输入和输出信号,并实时训练状态跟随器,训练输入样本为实时获取的输入和输出信号,训练输出样本为实时获取的输出信号;在每次实时训练好状态跟随器之后,需要输出的结果为改进的Elman神经网络中关联节点到隐层单元、输入单元至隐层单元以及隐层单元到输出单元的连接权矩阵[W1,W2,W3]。步骤四、针对故障观测器得到的液压伺服系统的每组实时残差信号,提取时域特征值,每组残差信号得到1个时域特征值RMSε(t);所述的时域特征值采用均值、有效值、峭度或者波形因子来表示。步骤五、训练故障定位器,所述的故障定位器采用RBF(Radialxa0Basisxa0Function)神经网络实现,RBF神经网络的训练输入样本X为: X = W 1 , i 1 , W 1 , i 2 , W 1 , i 3 , RMS ϵ ( t ) 1 , i W 2 , i 1 , W 2 , i 2 , W 2 , i 3 , RMS ϵ ( t ) 2 , i W 3 , i 1 , W 3 , i 2 , W 3 , i 3 RMS ϵ ( t ) 3 , i , i = 1,2 , . . . , n ]]>其中,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="158"/>代表正常工作状态下的第i个时域特征值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="158"/>代表电子放大器故障状态下的第i个时域特征值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="158"/>代表泄漏故障状态下的第i个时域特征值;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="302"/>ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="292"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="288"/>分别代表正常工作状态、电子放大器故障状态和泄漏故障状态下通过步骤三得到的第i组连接权;RBF神经网络的训练输出样本Y为: Y = 1,0,0 · · · 0,1,0 · · · 0,0,1 · · · ]]>[1,0,0],[0,1,0],[0,0,1]分别为n行,分别对应正常工作状态、电子放大器故障状态和泄漏故障状态的分类结果模式。步骤六、对液压伺服系统进行实时故障检测及故障定位:首先,根据样本的离线训练误差和噪声的标准差来确定故障阈值;然后,采集液压伺服系统在某t时刻的输入和输出信号,经过步骤二~四,得到该输入和输出信号对应的残差信号的时域特征值以及经过状态跟随器得到的网络连接权值,根据故障阈值对时域特征值进行检测,若时域特征值超过了故障阈值,则标明出现故障,将时域特征值和对应的网络连接权值输入到步骤五中已训练好的故障定位器,进行故障定位。本发明的优点与积极效果在于:(1)本发明方法引入Elman神经网络状态跟随器和RBF故障定位器的双级神经网络实现液压伺服系统的故障定位,解决了目前缺乏有效的液压伺服系统故障定位方法的问题;(2)本发明方法充分利用了Elman神经网络强大的快速逼近被控对象模型和实时精确跟踪模型变化的功能,实现了对液压伺服系统的故障检测,该方法鲁棒性强,检测效果显著;(3)本发明方法界定了液压伺服系统故障决策,并提出了液压伺服系统故障检测的故障阈值选择,降低了因不合理的故障阈值设定而导致故障误报和漏报的可能性;(4)本发明方法同时改进了一般的Elman网络结构,更好地实现非线性映射的模式识别,很大程度上精简了网络的规模,提高了学习速率;同时,提出了RBF神经网络中改进的自适应K均值聚类学习方法,提高了聚类处理的速度;(5)与现有的液压伺服系统故障定位方法相比,本发明方法显著提高了通用性和准确度。
附图说明
图1是本发明的液压伺服系统的故障定位方法的结构建立示意图;图2是本发明的液压伺服系统的故障定位方法的整体步骤流程图;图3是改进的Elman网络结构示意图;图4是本发明步骤二中改进Elman网络的具体训练过程示意图;图5是本发明实施例中液压伺服系统在正常状态下的某一组残差示意图;图6是本发明实施例中液压伺服系统在电子放大器故障状态下的某一组残差示意图;图7是本发明实施例中液压伺服系统在泄漏故障状态下的某一组残差示意图;图8是本发明实施例中液压伺服系统在三种状态下故障定位结果示意图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。通常,基于神经网络故障观测器可以实现液压伺服系统的故障检测,但很难进行故障定位,因此有效的故障定位方法一直是液压伺服系统故障诊断的瓶颈问题。本发明针对液压系统的非线性、时变、流固耦合和液压伺服系统可检测量少,故障定位困难的特点,提出一种基于残差与双级Elman神经网络的液压伺服系统故障定位方法,实现液压伺服系统故障检测与故障定位。本发明方法的核心思想是通过改进的Elman跟随器在线识别当前系统的状态,并将跟随器网络结构的连接权值和改进的Elman观测器的残差时域特征一起输入到具有良好非线性逼近能力的RBF神经网络进行故障分类与定位,如图1所示。本发明方法从简单地利用神经网络观测器实现液压伺服系统的故障检测到实现系统进一步的故障分类,通过实时获取观测器的残差变化和跟随器的网络连接权值变化,实现对液压伺服系统的故障定位的目的。本发明是一种针对液压系统的非线性、时变、流固耦合和液压伺服系统可检测量少,故障定位困难的特点,采用基于残差与双级神经网络模型的方法实现液压伺服系统故障定位方法,下面结合图1和图2对具体的步骤进行说明。步骤一、获取液压伺服系统三种状态下的系统输入输出信号。所述的三种状态分别为正常工作状态、电子放大器故障状态、泄漏故障状态。在液压伺服系统正常运行时,给定系统输入指令正弦信号的频率和幅值。以设定的采样频率和采样时间采集系统的输入和输出信号,共采集n组正常状态下的液压伺服系统输入输出信号数据。由液压伺服系统的故障分析可知,电子放大器、伺服阀和液压缸部分出现的故障在数学模型上表现为传递函数增益的突变,例如电子放大器的断路、伺服阀的卡死、液压缸的卡死等。为了在实际液压伺服系统中能够模拟这些故障,可以对PID(比例-积分-微分)控制器中的比例系数Kp进行设置,来模拟系统中的电子放大器发生故障。在此电子放大器故障状态下,给定和正常状态的输入指令正弦信号相同的频率和幅值,并以同样的采样频率和采样时间采集系统的输入输出信号,共采集n组电子放大器故障状态下的液压伺服系统输入输出信号数据。泄漏故障是伺服系统常见的故障之一,伺服阀滑阀磨损和摆动缸柱塞的间隙都会使液压系统出现泄漏增大。为了简化系统设置,不考虑其他影响因素,仅认为泄漏故障体现为数学模型中总的流量压力系数Kce的增大。因此可以修改总的流量压力系数Kce来模拟系统中的伺服阀或摆动缸的泄漏故障。在此泄漏故障状态下,给定和正常状态的输入指令正弦信号相同的频率和幅值,并以同样的采样频率和采样时间采集系统的输入输出信号,共采集n组泄漏故障状态下的液压伺服系统输入输出信号数据。步骤二、建立并训练系统正常时的故障观测器,所述的故障观测器采用改进的Elman神经网络实现。本发明方法中所针对的液压伺服系统可以用式(1)来描述: X ( t ) = g ( t , X , U , Y , f ) Y ( t ) = h ( t , X , U , Y , f ) - - - ( 1 ) ]]>式中,X(t),Y(t),U(t),f(t)分别表示系统的状态向量、测量的输出向量、控制输入向量和故障向量,g(·)和h(·)是两个非线性向量函数,t表示时间。定义状态观测器为: X ^ ( t ) = g ( t , X ^ , U , Y , f ^ ) Y ^ ( t ) = h ( t , X ^ , U , Y , f ^ ) - - - ( 2 ) ]]>式中,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="396"/>分别是X(t),Y(t),f(t)的估计值。令状态误差: e ( t ) = X ( t ) - X ^ ( t ) - - - ( 3 ) ]]>如果对于f(t)=0和f(t)≠0时,都有ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="227"/>成立,则称式(2)的状态观测器为式(1)液压伺服系统的故障观测器。鉴于液压伺服系统是典型的动态控制系统,这种系统本身含有记忆环节,这些记忆环节可以记住上一时刻系统的一些状态,这样系统的输出不仅与系统的输入有关,还与系统前一时刻记忆的内容有关,因此本发明方法采用Elman神经网络作为系统的故障观测器。但是,基本的Elman网络利用标准的BP(Backxa0Propagation,反向传播)方法仅能辨识一阶动态模型,动态记忆功能有限,为提高网络的动态记忆能力,所以本发明采用改进的Elman网络来对多故障的复杂模式进行识别。它是在前馈网络同层节点间引入互反馈与自反馈,使之具有很强的动态逼近能力,可以用来描述任意非线性动态特性,如图3所示。图3中的改进Elman网络的外部输入信号为u(k-1),输出信号为y(k),隐层输出信号为x(k)∈Rn,关联节点的输出信号为xc(k)∈Rn。Rn表示n维欧氏空间。由于在关联节点上增加了一个固定增益为α的自反馈连接,使得关联节点在k时刻的输出信号等于隐层在k-1时刻的输出信号加上关联节点在k-1时刻输出信号的α倍,α值在0~1之间。与一般的Elman网络相比,不仅可以更好地实现非线性映射的模式识别,同时关联节点的自反馈连接也在很大程度上精简了网络的规模,提高了学习速度,其学习过程如图4所示。首先以固定值初始化各层权值,然后输入样本值,计算输入层输出信号,再以输入层输出信号计算隐含层输出信号;该隐含层的输出信号是经过反馈关联节点和自反馈,再经过隐含层计算得到。根据隐含层输出信号计算输出层输出信号,之后计算误差,更新权值,并将更新后的权值反馈到各层上,重复以上过程到误差满足要求为止。整个改进Elman网络的输入信号、输出信号关系的可表示为如下式(4)所示: x ( k ) = f 1 ( W 1 x c ( k ) + W 2 u ( k - 1 ) ) x c ( k ) = αx c ( k - 1 ) + x ( k - 1 ) y ( k ) = l ( W 3 x ( k ) ) - - - ( 4 ) ]]>其中,W1,W2,W3分别为关联节点到隐层单元、输入单元至隐层单元以及隐层单元到输出单元的连接权矩阵,f1(·)和l(·)分别为输出单元和隐层单元的激发函数所组成的非线性向量函数。由于对关联节点上增加了自反馈连接,故改进的Elman神经网络可利用标准BP学习方法进行系统辨识。BP方法包括信息的正向传递和误差的反向传递,通过不断修正网络的权值和偏差,使网络输出层的实际输出信号与期望输出信号的误差平方和达到最小。假设Elman神经网络的输入单元有r个,关联节点有n个,隐层单元有n个,输出单元有m个,这样具体连接权的增量为如式(5)~(7)所示: Δ W ij 3 = η 3 δ i 0 x j ( k ) - - - ( 5 ) ]]> Δ W jq 2 = η 2 δ j h u q ( k - 1 ) - - - ( 6 ) ]]> Δ W jl 1 = η 1 Σ i = 1 m ( δ i 0 W ij 3 ) ∂ x j ( k ) ∂ W jl 1 - - - ( 7 ) ]]>式中,i=1,2,..,m,表示第i个输出单元;j=1,2,...,n,表示第j个隐层单元;l=1,2,...,n,表示第l个关联节点;q=1,2,...,r,表示第q个输入单元;xj(k)表示第j个隐层单元在k时刻的输出信号;uq(k-1)表示第q个输入单元在k-1时刻的输出信号;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="65"/>表示第j个隐层单元到第i个输出单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="101"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="65"/>的增量,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="70"/>为第q个输入单元至第j个隐层单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="106"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="70"/>的增量,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="66"/>为第l个关联节点到第j个隐层单元的连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="102"/>为更新ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="65"/>的增量;η1,η2,η3分别为ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="323"/>的学习步长;ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="53"/>表示第i个输出单元的输出误差,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="52"/>表示第j个隐层单元的输出误差。假设y(k)为网络的实际输出信号,d(k)为期望输出信号,则输出误差为: δ i 0 = ( y i ( k ) - d i ( k ) ) l i ′ ( · ) - - - ( 8 ) ]]> δ j h = Σ i = 1 m ( δ i 0 W ij 3 ) f 1 j ′ ( · ) - - - ( 9 ) ]]> ∂ x j ( k ) ∂ W jl 1 = f 1 j ′ ( · ) x j ( k - 1 ) + α ∂ x j ( k - 1 ) ∂ W jl 1 - - - ( 10 ) ]]>yi(k)表示输出层第i个输出单元实际的输出信号,di(k)表示输出层第i个输出单元的期望输出信号,l′i(·)表示输出层的第i个输出单元向量函数的导数,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="53"/>表示输出层第i个输出单元的输出误差,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="52"/>表示隐含层的第j个隐层单元的输出误差,f1′j(·)表示隐含层的第j个隐层单元向量函数的导数。式(10)表示根据上一时刻的隐含层输出和隐含层与关联节点之间的权值,学习修正当前时刻的隐含层输出。本发明的故障观测器是通过离线的方法,利用在液压伺服系统正常状态下采集的一组训练样本进行训练。当系统再工作时,故障观测器不再训练,因此它记忆的是系统正常时的状态。故障观测器能够对系统的正常运行状态进行准确的跟踪,故障观测器的输出和系统实际输出之差接近于零。但当液压伺服系统发生故障时,故障观测器的输出将不能跟踪系统的实际输出,二者之差(残差)将不再为零,说明残差信号中包含一定的故障信息,而且不同的故障类型反映的残差会有所不同,因此可根据残差检测出故障的存在,同时残差信号也能够作为液压伺服系统故障定位的依据之一。具体本发明通过下面过程得到液压伺服系统实时的残差信号:首先,训练液压伺服系统正常工作状态下的故障观测器,具体是:获取液压伺服系统正常工作状态下的历史输入和输出信号,并将获取的输入信号和输出信号放到一个向量中作为故障观测器的训练输入样本,将获取的液压伺服系统的历史输出信号作为故障观测器的训练输出样本;在进行训练之前需要对训练输入和输出样本归一化处理到[-1,1]之间,然后设定好Elman网络的基本参数,开始训练。在训练好故障观测器之后,会得到故障观测器的估计输出信号,再将观测器的估计输出信号与液压伺服系统的实际输出信号相减,即可得到液压伺服系统正常工作状态下的残差信号。其次,在液压伺服系统实时工作时,实时采集系统的输入输出信号,通过故障观测器得到液压伺服系统实时的残差信号。如图1所示,获取当前t时刻的液压伺服系统的输入信号r(t)和输出信号yr(t),并将获得的输入和输出信号放在一个向量里,将该向量归一化处理后输送到已训练好的故障观测器中,得到此时液压伺服系统观测器的估计输出信号ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="132"/>将得到的估计输出信号ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="104"/>与液压伺服系统的输出信号yr(t)相减,得到当前t时刻工作状态下液压伺服系统的残差信号ε(t)。图1中Z-1表示时滞环节。步骤三、实时在线训练液压伺服系统的状态跟随器,所述的状态跟随器也采用步骤二中改进的Elman神经网络实现。状态跟随器实时地采集液压伺服系统的输入和输出信号进行在线学习,所以它记忆了系统当前的状态。因此当液压伺服系统正常运行时,状态跟随器通过实时地在线学习,能准确地跟踪系统正常时的模型,并将正常系统的模型分布记忆于网络连接权值参数中。同样,当系统在发生故障时,状态跟随器也通过实时地在线学习,准确记忆了系统的故障模型,并将故障模型分布记忆于网络连接权值中。针对液压伺服系统不同的故障情况,系统的模型也将发生不同的变化,状态跟随器则具有不同的网络连接权值,因此可以利用状态跟随器的连接权值等网络参数的不同进行故障诊断和定位。具体本发明通过下面过程得到液压伺服系统Elman跟随器实时的网络连接权值:在液压伺服系统实时运行时,和故障观测器同步采集系统的输入输出信号。获取当前t时刻的液压伺服系统的输入信号r(t)和输出信号yr(t),并将获得的系统输入和输出信号放到一个向量里作为状态跟随器的训练输入样本,将获得的系统输出信号作为状态跟随器的训练输出样本;在进行训练之前需要对训练输入和输出样本归一化处理到[-1,1]之间,然后设定好Elman神经网络的基本参数,开始训练。每次实时训练完状态跟随器后,需要输出的是Elman神经网络的各层连接权值,即关联节点层到隐层、输入层至隐层以及隐层到输出层的连接权矩阵[W1,W2,W3],如图1所示。步骤四、针对液压伺服系统的故障观测器得到的每组实时残差信号,提取其时域特征值。故障观测器得到的残差信号属于时域信号,需要对此信号进行时域特征提取。常用的时域特征值有均值、有效值、峭度、波形因子等,选择符合本发明的残差信号特点的时域特征。本发明方法的具体实施例中选取的是有效值,以作为待故障分类的特征量之一。确定有效值的公式为: RMS = x 1 2 + x 2 2 + . . . + x p 2 p - - - ( 11 ) ]]>RMS表示残差信号的有效值,p表示在该残差信号中选取的样本量,x1,x2......xp分别表示第1个、第2个......第p个样本的值。本发明方法中,由于只需要用到残差信号的一个时域特征值,因此针对残差信号ε(t),取其所有样本点的有效值,根据式(11)可计算得到1个特征值RMSε(t)。所得到的1个特征量和步骤三得到的网络连接权值[W1,W2,W3]合成一个向量[W1,W2,W3,RMSε(t)]作为步骤五中的RBF故障定位器的输入量。步骤五、训练用于故障定位的故障定位器,所述的故障定位器采用RBF神经网络建立。由于RBF神经网络具有良好的非线性逼近能力,因此本发明使用RBF神经网络作为二级故障定位器,如图1所示。虽然RBF神经网络具有很强的自适应性,但其缺点是所采用的方法的稳定性很难保证,常规的K均值聚类方法需要事先确定聚类数目,初始聚类中心的不同选取将严重影响聚类方法的速度和分类的精度。因此本发明提出了改进的K均值聚类学习方法和学习率的自适应调整方法,通过训练获取结构参数,调整学习率自适应因子获取最优学习率,保证网络学习的稳定性。利用神经网络的自适应能力调节网络权值,构造一个具有自调整能力的、稳定的故障检测系统,实现液压伺服系统的故障定位。本发明提出改进的自适应K均值聚类学习方法来建立RBF神经网络,该方法动态地调整聚类中心和聚类数目,进行自适应地聚类学习,无需事先确定聚类数,大大提高了聚类处理的速度。同时采用附加动量因子的最小二乘方法调整网络的权值,并给出学习率的自适应调整方法。采用改进的K均值聚类方法建立RBF神经网络具体过程如下:(1)选择一个合适的高斯函数宽度r,令第一个训练输入样本X1作为第一个聚类中心C1,C1=X1,聚类数为1,这样建立的RBF神经网络只有一个隐单元,该隐单元的中心为C1。(2)确定第二个训练输入样本X2和聚类中心C1之间的距离,若距离||X2-C1||2归为第一类,同时ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="364"/>若||X2-C1||>r,则X2作为新的聚类中心,令C2=X2,聚类数为2,此时建立的RBF神经网络有2个隐单元,隐单元的中心分别为C1和C2。(3)考虑第i个训练输入样本Xi(i=3,4,5,...n)。在上述建立的RBF神经网络已有m个隐单元,有m个聚类中心C1,C2,...,Cm存在。分别计算Xi与m个聚类中心的距离||Xi-Cj||(j=1,2,...,m),找出与样本Xi距离最近的聚类中心Ch,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="502"/>是与所有聚类中心的最近距离。若||Xi-Ch||i被归为第h类,并令ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="264"/>Xi∈h表示Xi属于以聚类中心为Ch的第h类,否则Xi作为新的聚类中心并令Cm+1=Xi,聚类数k=k+1。重复(3)直到N个训练输入样本分类完毕,全部聚类中心确定,假设共有n′个聚类中心。在本发明实施例中,N为3n。(4)按K均值聚类方法重新调整聚类中心,将所有训练输入样本Xp(p=1,2,...,N)按最近邻规则分组,即当: | | X p - C i | | = min i | | X p - C i | | , i = 1,2 , . . . , n ′ - - - ( 12 ) ]]>则将样本Xp归划到聚类中心Ci所在的第i类。(5)根据如下规则调整径向基函数中心,也就是聚类中心: C i = 1 N i Σ X p ∈ i X p - - - ( 13 ) ]]>其中Ni为第i类的样本数。Xp∈i表示第i类中的样本。(6)重复(4)和(5),直至所有聚类中心不再变化。利用K均值方法获得的各个聚类中心后,即可将这些聚类中心赋值给各RBF单元,作为各RBF单元的聚类中心。(7)针对(6)中的每一聚类中心,计算σi: σ i = 1 N i Σ ( X p - C i ) T ( X p - C i ) - - - ( 14 ) ]]>σi表示第i个RBF单元的径向基函数的宽度,T表示向量的转置,Ni为第i类的样本数。(8)根据最小二乘方法调整输出层的权值,定义目标函数E E = 1 2 N Σ i = 1 n 1 ( y f - y f ) T ( y f - y f ) - - - ( 15 ) ]]>N表示样本总数,n1表示输出层的节点数。yf表示RBF神经网络输出层的实际输出值,yf表示RBF神经网络输出层的估计输出值。根据最小二乘法则,输出层的权值调整如下: W ( k ) = W ( k - 1 ) - α 1 ∂ E ∂ W ( k - 1 ) - - - ( 16 ) ]]>k表示迭代数。为改进收敛特性和学习效果,在学习方程中加入动量因子修正项: W ( k ) = W ( k - 1 ) - α 1 [ ( 1 - η ) ∂ E ∂ W ( k - 1 ) + η ∂ E ∂ W ( k - 1 ) ] - - - ( 17 ) ]]>其中,α1学习速率因子,0<η<1是动量因子。通过仿真,可知学习速率的选取困难,表现在收敛速度和收敛性之间的矛盾。本发明通过加入自适应学习速率因子α1(k),探讨了一种改进的学习方法。 W ( k ) = W ( k - 1 ) - α 1 [ ( 1 - η ) ∂ E ∂ W ( k - 1 ) + η ∂ E ∂ W ( k - 2 ) ] - - - ( 18 ) ]]>α1(k)=ρ(k)α1(k-1)xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(19)ρ(k)=ε1·2τxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(20)其中, τ = sign [ ∂ E ∂ W ( k - 1 ) · ∂ E ∂ W ( k - 2 ) ] , ]]>sign()为符号函数,ε1为误差系数。ρ(k)表示学习速率因子的调整变量。通过加入动量因子和自适应学习速率因子加快了收敛速度,调整自适应学习速率因子获取最优学习率,保证了K聚类方法的收敛性和稳定性。具体本发明通过下面过程对RBF故障定位器进行训练的:首先,利用步骤一采集的n组液压伺服系统正常工作状态的输入和输出信号数据,取其中1组如步骤二中流程去训练故障观测器。将剩余的n-1组液压伺服系统正常工作状态的数据输入到已训练好的故障观测器中,这样总共得到液压伺服系统正常工作状态下n组残差信号,并通过步骤四得到n个残差有效值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="158"/>(i=1,2,...,n)代表正常工作状态的第i个残差有效值。同理,分别将电子放大器故障和泄漏故障两种状态的n组数据输入到已训练好的Elman观测器中,分别得到两种状态下的n组残差信号,通过步骤四分别得到n个残差有效值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="375"/>分别代表电子放大器故障和泄漏故障状态的第i个残差有效值。然后,再将步骤一分别采集的n组液压伺服系统正常工作状态、n组电子放大器故障状态和n组泄漏故障状态的输入和输出信号数据都通过步骤三中的状态跟随器实时训练,得到n组系统正常状态、n组电子放大器故障状态和n组泄漏故障状态的跟随器网络连接权值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="624"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="316"/>i=1,2,...,n,分别代表正常工作状态、电子放大器故障状态和泄漏故障状态的第i组网络连接权值。最后,分别将系统正常工作状态、电子放大器故障状态和泄漏故障状态的残差有效值与对应状态的状态跟随器的网络连接权值组合成RBF故障定位器的输入训练样本,即输入矢量X为: X = W 1 , i 1 , W 1 , i 2 , W 1 , i 3 , RMS ϵ ( t ) 1 , i W 2 , i 1 , W 2 , i 2 , W 2 , i 3 , RMS ϵ ( t ) 2 , i W 3 , i 1 , W 3 , i 2 , W 3 , i 3 RMS ϵ ( t ) 3 , i , i = 1,2 , . . . , n ]]>这样,RBF故障定位器的训练输入样本为三种状态的3n组网络连接权值和残差有效值。而其训练输出样本Y为 Y = 1,0,0 · · · 0,1,0 · · · 0,0,1 · · · ]]>其中,[1,0,0],[0,1,0],[0,0,1]分别为n行,分别对应系统正常工作状态、电子放大器故障状态和泄漏故障状态的分类结果模式。之后,用X,Y作为训练样本训练RBF故障定位器,训练好之后,不再对其进行训练。步骤六、对液压伺服系统进行实时故障检测及故障定位。利用液压伺服系统故障决策可进行系统的故障检测。进行故障检测时,需要选择一个合适的故障阈值。故障阈值的选择是故障诊断领域的一个难点,选择的太小,当传感器的输出噪声过大时,容易误报警;选择的太大,很难检测到幅值变化较小的故障,从而引起漏报警。本发明根据样本的RBF神经网络离线训练误差和噪声的标准差来确定故障阈值。噪声是指液压伺服系统仿真模型中的干扰信号。为减少由于传感器输出噪声和训练误差所引起的误报警,本发明采用步骤五中的RBF神经网络离线训练误差的最大值与3倍的噪声标准差之和作为故障阈值。具体实现液压伺服系统实时故障检测与故障定位过程如下:当液压伺服系统再工作时,在某t时刻采集系统的输入输出信号,将其经行归一化处理后,分别输入到已训练好的故障观测器和实时训练的状态跟随器中,这样就得到了液压伺服系统当前状态的残差信号和所需要的网络连接权值。根据上述故障决策选定的故障阈值,将时域特征值与故障阈值进行比较,以判断当前系统是否出现故障。当时域特征值超过了故障阈值时,检测出系统出现故障,则将网络连接权值与残差有效值组成的向量输入到已训练好的RBF故障定位器中,得到系统某种故障的分类结果,即可实现了液压伺服系统故障定位的目的。分类结果为[0,1,0],表示电子放大器故障,分类结果为[0,0,1],表示为泄漏故障。实施例:本实例采取液压伺服系统的实验数据进行验证。分别使用液压伺服系统正常工作、电子放大器故障和泄漏故障三种状态下的样本信号对本发明基于残差与双级Elman神经网络相结合的液压伺服系统的故障定位方法进行检测验证,具体步骤如下:步骤一、获取液压伺服系统正常工作、电子放大器故障和泄漏故障三种状态下的系统输入和输出信号。在液压伺服系统正常运行时,给定系统输入指令为频率1Hz,幅值20mm的正弦信号,采集系统正常状态下20组系统输入和输出信号。修改实际液压伺服系统中PID控制器的比例系数Kp模拟电子放大器增益漂移故障,使比例系数Kp在第2秒时突变了0.5,时间持续2秒,采集电子放大器故障状态下20组系统输入和输出信号。修改液压伺服系统的流量压力系数Kce模拟泄漏故障,使流量压力系数Kce增大两倍,采集电子放大器故障状态下20组系统输入和输出信号。步骤二、建立并训练液压伺服系统正常状态时的故障观测器。取步骤一中20组液压伺服系统正常状态的系统输入输出中的1组数据,用来训练Elman观测器。图5所示为液压伺服系统正常状态下系统输出与故障观测器估计输出之间的残差曲线,可以看出故障观测器能够有效地逼近液压伺服系统的模型。图5的横坐标为时间轴,纵坐标为残差幅值(mm)。在系统正常状态下,Elman观测器的估计输出与系统的实际输出之间的差值不大,一般在零附近波动,图5中的残差是由于实验中存在摩擦等因素造成的。再分别取1组电子放大器故障状态和泄漏故障状态的系统输入输出数据,输入到已训练好的故障观测器,得到如图6所示的电子放大器故障的残差曲线和如图7所示的泄漏故障的残差曲线。图6和图7的为时间轴,纵坐标为残差幅值(mm)。由图6可以看出,当电子放大器发生故障时,实际系统的输出位移和Elman观测器的估计输出位移之间的残差不再为零,残差幅值较大,在2s~3s间是正常系统残差的5倍,超过了故障阈值,因此通过检测残差信号可以检测出液压伺服系统是否存在故障。从图7可以看出,泄漏故障发生时系统的位移输出达不到指令的要求,泄漏残差比正常系统的残差将近大3倍,因此通过检测残差曲线可以诊断液压伺服系统是否出现故障。步骤三、实时在线训练液压伺服系统的状态跟随器。将步骤一得到的60组输入和输出信号分别输入状态跟随器,每次实时在线训练状态跟随器得到一组网络连接权值。步骤四、针对液压伺服系统故障观测器得到的每组实时残差信号,提取其时域有效值。步骤五、训练用于液压伺服系统故障定位的RBF神经网络。将三种状态的状态跟随器的网络连接权值分别与对应状态的残差有效值一一对应,组成60组训练输入样本,再将[1,0,0]、[0,1,0]、[0,0,1]各30组作为训练输出样本,开始训练RBF故障定位器,训练好之后保存。步骤六、对液压伺服系统进行实时故障定位。实时采集液压伺服系统的输入和输出信号,分别用系统正常工作状态、电子放大器故障状态或泄漏故障状态下的系统残差有效值和相应的Elman跟随器的结构参数分别输入到已训练好的二级RBF定位网络中,利用二级RBF故障定位器诊断这些故障特征的故障类型。各类故障的输出诊断结果如表1所示。表1故障诊断结果ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>表1为分别输入3组实验数据,得到的结果,第1组实验数据为正常工作状态下的数据,第2组实验数据为电子放大器故障状态下的数据,第3组实验数据为泄漏故障状态下的数据。以第1组实验数据为例,输入故障定位器后,得到的结果为0.9312、0.0476、0.0315,最高值0.9312对应的是正常工作状态。由表1中黑体数字可见,使用故障定位器进行故障分类,各故障对应的神经元均输出了较高的数值。不难看出,故障定位器成功地将液压伺服系统的故障特征映射为不同的故障类型,能够准确地判断出系统故障的类型,实验证明故障诊断成功率达97%以上。通过以上故障定位方法以及结果的详细描述,可见本发明的基于残差与双级Elman神经网络相结合的液压伺服系统的故障定位方法,定位精确度高,具有明显的实际应用价值。